84 research outputs found

    Programming with Exceptions in JCilk

    Get PDF
    JCilk extends the Java language to provide call-return semantics for multithreading, much as Cilk does for C. Java's built-in thread model does not support the passing of exceptions or return values from one thread back to the "parent" thread that created it. JCilk imports Cilk's fork-join primitives spawn and sync into Java to provide procedure-call semantics for concurrent subcomputations. This paper shows how JCilk integrates exception handling with multithreading by defining semantics consistent with the existing semantics of Java's try and catch constructs, but which handle concurrency in spawned methods. JCilk's strategy of integrating multithreading with Java's exception semantics yields some surprising semantic synergies. In particular, JCilk extends Java's exception semantics to allow exceptions to be passed from a spawned method to its parent in a natural way that obviates the need for Cilk's inlet and abort constructs. This extension is "faithful" in that it obeys Java's ordinary serial semantics when executed on a single processor. When executed in parallel, however, an exception thrown by a JCilk computation signals its sibling computations to abort, which yields a clean semantics in which only a single exception from the enclosing try block is handled. The decision to implicitly abort side computations opens a Pandora's box of subsidiary linguistic problems to be resolved, however. For instance, aborting might cause a computation to be interrupted asynchronously, causing havoc in programmer understanding of code behavior. To minimize the complexity of reasoning about aborts, JCilk signals them "semisynchronously" so that abort signals do not interrupt ordinary serial code. In addition, JCilk propagates an abort signal throughout a subcomputation naturally with a built-in CilkAbort exception, thereby allowing programmers to handle clean-up by simply catching the CilkAbort exception. The semantics of JCilk allow programs with speculative computations to be programmed easily. Speculation is essential for parallelizing programs such as branch-and-bound or heuristic search. We show how JCilk's linguistic mechanisms can be used to program a solution to the "queens" problem and an implemention of a parallel alpha-beta search.Singapore-MIT Alliance (SMA

    Construction and Assembly of the Wire Planes for the MicroBooNE Time Projection Chamber

    Full text link
    In this paper we describe how the readout planes for the MicroBooNE Time Projection Chamber were constructed, assembled and installed. We present the individual wire preparation using semi-automatic winding machines and the assembly of wire carrier boards. The details of the wire installation on the detector frame and the tensioning of the wires are given. A strict quality assurance plan ensured the integrity of the readout planes. The different tests performed at all stages of construction and installation provided crucial information to achieve the successful realisation of the MicroBooNE wire planes.Comment: 24 pages, 22 figures, accepted for publication as Technical Report in JINS

    Virtual Machine Support for Many-Core Architectures: Decoupling Abstract from Concrete Concurrency Models

    Get PDF
    The upcoming many-core architectures require software developers to exploit concurrency to utilize available computational power. Today's high-level language virtual machines (VMs), which are a cornerstone of software development, do not provide sufficient abstraction for concurrency concepts. We analyze concrete and abstract concurrency models and identify the challenges they impose for VMs. To provide sufficient concurrency support in VMs, we propose to integrate concurrency operations into VM instruction sets. Since there will always be VMs optimized for special purposes, our goal is to develop a methodology to design instruction sets with concurrency support. Therefore, we also propose a list of trade-offs that have to be investigated to advise the design of such instruction sets. As a first experiment, we implemented one instruction set extension for shared memory and one for non-shared memory concurrency. From our experimental results, we derived a list of requirements for a full-grown experimental environment for further research

    Attitudes to smoking cessation and triggers to relapse among Chinese male smokers

    Get PDF
    BACKGROUND: Smoking is related to many diseases, and the relapse to smoking after cessation in China is noticeable. We examined the attitudes of Chinese male smokers regarding smoking cessation and reasons for relapse. METHODS: We interviewed 201 male smokers in Hangzhou City, Zhejiang province, China who had tried to quit smoking at least once in order to identify reasons for quitting and situations triggering relapse. RESULTS: The most significant reported reasons for quitting included personal health (77.1%), the cost of cigarettes (53.7%), and family pressures to quit (29.9%). The most common factors triggering relapse were social situations (34.3%), feeling negative or down (13.4%) and times of being alone (8.4%). CONCLUSION: Health and family concerns, personal factors, the influence of others and a lack of cessation resources were cited as salient factors concerning smoking cessation among male smokers in this study. Effective smoking control efforts in China will require attention to these influences if China is to curb its current smoking epidemic

    Determinants of Unlawful File Sharing: A Scoping Review

    Get PDF
    We employ a scoping review methodology to consider and assess the existing evidence on the determinants of unlawful file sharing (UFS) transparently and systematically. Based on the evidence, we build a simple conceptual framework to model the psychological decision to engage in UFS, purchase legally or do nothing. We identify social, moral, experiential, technical, legal and financial utility sources of the decision to purchase or to file share. They interact in complex ways. We consider the strength of evidence within these areas and note patterns of results. There is good evidence for influences on UFS within each of the identified determinants, particularly for self-reported measures, with more behavioral research needed. There are also indications that the reasons for UFS differ across media; more studies exploring media other than music are required

    A Measure of Perceived Performance to Assess Resource Allocation

    Get PDF
    The final publication is available at Springer via http://dx.doi.org/10.1007/s00500-015-1696-3Performance measurement is a key issue when a company is designing new strategies to improve resource allocation. This paper offers a new methodology inspired by classic importance-performance analysis (IPA) that provides a global index of importance versus performance for firms. This index compares two rankings of the same set of features regarding importance and performance, taking into account underperforming features. The marginal contribution of each feature to the proposed global index defines a set of iso-curves that represents an improvement in the IPA diagram. The defined index, together with the new version of the diagram, will enable the assessment of a firm's overall performance and, therefore, enhance decision making in the allocation of resources. The proposed methodology has been applied to a Taiwanese multi-format retailer and managerial perceptions of performance and importance are compared to assess the firm's overall performance.Peer ReviewedPostprint (author's final draft

    From black box to toolbox: Outlining device functionality, engagement activities, and the pervasive information architecture of mHealth interventions

    Get PDF
    mHealth interventions that deliver content via mobile phones represent a burgeoning area of health behavior change. The current paper examines two themes that can inform the underlying design of mHealth interventions: (1) mobile device functionality, which represents the technological toolbox available to intervention developers; and (2) the pervasive information architecture of mHealth interventions, which determines how intervention content can be delivered concurrently using mobile phones, personal computers, and other devices. We posit that developers of mHealth interventions will be able to better achieve the promise of this burgeoning arena by leveraging the toolbox and functionality of mobile devices in order to engage participants and encourage meaningful behavior change within the context of a carefully designed pervasive information architecture
    • …
    corecore